Method for optimization of Q-Filter kernel parameters

ABSTRACT

A Q-Filter is a reconfigurable technique that performs a continuum of linear and nonlinear filtering operations. It is modeled by unique mathematical structure, utilizing a function called the Q-Measure, defined using a set of adjustable kernel parameters to enable efficient hardware and software implementations of a variety of useful, new and conventional, filtering operations. The Q-Measure is based on an extension of the well-known Sugeno λ-Measure. In order to optimize the Q-Filter kernel parameters, the value of an error function is minimized. The error function is based on difference between the filtered signal and target signal, with the target signal being a desired result of filtering.

FIELD OF THE INVENTION

The present invention relates generally to optimization of filtering techniques, and in particular, to a method for optimal parameter estimation for such filtering techniques.

BACKGROUND OF THE INVENTION

Digital filtering is essential to most signal processing and image applications. There are several existing techniques for filtering, including linear operators such as average filters, weighted average filters, and nonlinear operators such as median filters, weighted median filters, morphological filters, and stack filters. In practice, signal filtering is difficult due to the fact that there are several filtering methods, algorithms, and parameter settings that may be simultaneously utilized. Additionally, it may be difficult discovering the most appropriate sequence of these existing filtering methods. It would be beneficial if a computationally efficient signal processing technique can be realized that represents several conventional linear and nonlinear filters by adjusting a set of parameters. Such a filtering technique would allow for the elimination of expensive sequences of conventional filtering operations. Moreover, from a hardware point of view, it would be desirable to have a unique architecture that can be used to accelerate the execution of different filters. Therefore, a need exists for filtering a signal that is computationally efficient, and allows for the elimination of expensive sequences of conventional filtering operations. There also exists a need for a method and apparatus for optimizing such a filter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an n-point window of time series.

FIG. 2 shows the n-point window of time series of FIG. 1 in an ordered state.

FIG. 3 is a block diagram showing the process of optimizing Q-Filter kernel parameters.

FIG. 4 is a flow chart showing the process of optimizing the Q-Filter kernel parameters of FIG. 3.

DETAILED DESCRIPTION OF THE DRAWINGS

In order to address the above-mentioned need, an efficient method for estimating the kernel parameters of a class of nonlinear filters, referred to as Q-Filters is described herein. The Q-Filter is a reconfigurable filtering technique that performs a continuum of linear and nonlinear filtering operations. It is modeled by a mathematical structure, utilizing a function called the Q-Measure, defined using a set of adjustable kernel parameters to enable efficient hardware and software implementations of a variety of useful filtering operations. The Q-Measure is based on an extension of the well-known Sugeno λ-Measure.

In order to optimize the Q-Filter kernel parameters, the value of an error function is minimized. The error function is based on difference between the filtered signal and target signal, with the target signal being a desired result of filtering. Two techniques for minimizing the Q-Filter residual error value R are proposed. The first technique expresses the error value as the difference between Q-Filter filtered signal and the target signal where Q-Filter is a function of λ and f, with optimization of the Q-Filter occurring by calculating ∂R/∂λ and ∂R/∂f, then going through standard mathematical optimization iterations. The second technique expresses the error value as the difference between Q-Filter linear regression model and the target signal. Thus, the error expression is a function of λ, f, α and β (where α and β are linear-regression coefficients). Optimization of the Q-Filter kernel parameters (λ, f, α and β) occurs by calculating ∂R/∂λ, ∂R/∂f ∂R/∂α, and ∂R/∂β, and then going through standard mathematical optimization iterations.

As described in U.S. patent application Ser. No. 10/854836, METHOD AND APPARATUS FOR DIGITAL SIGNAL FILTERING, now U.S. Pat. No. 7,117,128 which is incorporated by reference herein, Q-Filters are particularly appropriate for hardware implementation and can be trained to replace sequences of conventional linear and nonlinear filtering operations. A distinctive characteristic of the Q-Filter is its low computational complexity, which makes it appropriate for intelligent applications running on low-power and small-size devices. Q-Filters can enable efficient implementation of new computational intelligence applications on embedded devices, desktop, or base-station platforms.

The present invention encompasses a method for optimizing parameters in a Q-filter. The method comprises the steps of receiving values for λ, f, and t, and optimizing the filtering operation by minimizing an error function R, wherein R is a function of input signal vector X, λ, f, t; and t*. The variable t* comprises a vector of filtered signals, while variable λ comprises a q-measure scalar parameter value, the variable f comprises a q-measure vector of density generator parameter values, and the variable t comprises a vector of desired target signals.

The present invention additionally encompasses an apparatus comprising a filter parameter optimizer receiving values for λ, f, and t, and optimizing a filtering operation by minimizing an error function R, wherein R is a function of input signal vector X, λ, f, t; and t*, where t* comprises a vector of filtered signals.

As discussed in the '836 application, a class of fuzzy measures are utilized that are identified as q-measures. The q-measures are based on a modification of the Sugeno λ-measure. Prior-art application of the Sugeno λ-measure has determined the fuzzy density first, in order to compute a unique value of the parameter λ. In practice, this is not a plausible strategy since values provided by experts, or obtained using some computations, are at best on an interval scale, with arbitrary position of 1. Therefore, scaling of these numbers is arbitrary, and computing λ from these numbers is then meaningless. The definition for the q-measure, which is a normalization of λ-measures, efficiently solves this critical problem. The q-measure formulation de-correlates λ and the density. As discussed, the Q-Filter is defined as a Choquet integral with respect to a q-measure over a window of observations. By adjusting the Q-Filter kernel parameters, a single Q-Filter can reshape a time series that may require the application of many different conventional filters. The Q-Filter operation can be described below with reference to FIG. 1 and FIG. 2.

As shown in FIG. 1, for an n-point window of a time series (received signal) {h_(i)}, i=1 . . . n, and corresponding Q-Filter density parameters {f_(i)}, the time series are sorted from low to high based on input values (FIG. 2), and the sorted series is marked as {h_((i))}, where h_((i−1))<h_((i))<h_((i+1)). Because the density parameters {f_(i)} change order due to sorting {h_(i)}, the changed density parameters are marked as {f_((i))}. FIG. 1 shows an example window of a time series with 5 points {h_(i)} and its corresponding Q-Filter density parameters {f_(i)}. FIG. 2 is the sorted sequence. For this example, h₍₁₎=h₅, h₍₂₎=h₁, h₍₃₎=h₄, h₍₄₎=h₂, and h₍₅₎=h₃. Similarly, we have f₍₁₎=f₅, f₍₂₎=f₁, f₍₃₎=f₄, f₍₄₎=f₂, and f₍₅₎=f₃.

An un-normalized q-measure {Ψ_(i)} is then calculated using the λ-rule as follows: Ψ_(n+1)=0  (1.1a) Ψ_(n) =f _((n))  (1.1b) Ψ_(i) =f _((i))+Ψ_(i+1) +λf _((i))Ψ_(i+1)  (1.1c)

The q-measure {q_(i)} and the q-measure differences {Δq_(i)} are then calculated: q _(i)=Ψ_(i)/Ψ₁  (1.2a) Δq _(i) =q _(i) −q _(i+1)  (1.2b)

The filtered value h from the time series {h_(i)} is then calculated:

$\begin{matrix} {\overset{\_}{h} = {{\sum\limits_{i = 1}^{n}{h_{(i)}\Delta\; q_{i}}} = {\frac{1}{\psi_{1}}{\sum\limits_{i = 1}^{n}{h_{(i)}{f_{(i)}\left( {1 + {\lambda\psi}_{i + 1}} \right)}}}}}} & (1.3) \end{matrix}$ where λε[−1,∞), and f_(i)ε[0,1]. Assume that a time series {h_(i)} has m points that are more than the Q-Filter's window size n. Applying the Q-Filter operation by sliding this window through the signal {h_(i)} will generate =m−n+1 processed data points forming a new time series { h_(i) }. Finally, { h_(i) } is the filtered time series of the input series {h_(i)}. Parameter Optimization

The behavior of the Q-Filter is determined by its window size n, corresponding density generators {f_(i)}, and the parameter λ. Assume that a time series pair {x_(i), t_(i)} exists, where x_(i) is a noisy signal and t_(i) is the corresponding target signal. Denote x={x_(i)} as the noisy signal vector, and f={f_(i)} as the density generators parameter vector, then the Q-Filter, Q(x, λ, f), is a mapping from {x_(i)} to {t_(i)}, i.e., Q(x, λ, f)→t. By denoting {h_(i)} as {x_(i)}, Equation (1.3) can be rewritten as:

$\begin{matrix} {{Q\left( {x,\lambda,f} \right)} = {{\sum\limits_{i = 1}^{n}{x_{(i)}\Delta\; q_{i}}} = {\frac{1}{\psi_{1}}{\sum\limits_{i = 1}^{n}{x_{(i)}{f_{(i)}\left( {1 + {\lambda\psi}_{i + 1}} \right)}}}}}} & (1.4) \end{matrix}$

Assume that the window size n of a Q-Filter is an odd-number, i.e., n=2k+1, k>0; an input noisy signal series x_(k)=(x₀, . . . , x_(k−1), x_(k), x_(k+1), . . . , x_(2k)) is going to be filtered toward a target signal t_(k). For a series of noisy signals {x_(k)} and the corresponding target signals {t_(k)}, the filtered signals can be expressed as: t* _(k) =Q(x _(k) ,λ,f)  (1.5) The corresponding root-mean-square (RMS) error function can be expressed as:

$\begin{matrix} {R = {{\frac{1}{2M}{\sum\limits_{k = 1}^{M}\left( {t_{k}^{*} - t_{k}} \right)^{2}}} = {\frac{1}{2M}{\sum\limits_{k = 1}^{M}\left( {{Q\left( {x_{k},\lambda,f} \right)} - t_{k}} \right)^{2}}}}} & (1.6) \end{matrix}$ where M is the number of training samples, i.e., number of n-point windows over the noisy input signal series. The derivative of the residual error function, i.e., Equation (1.5), can be expressed as,

$\begin{matrix} {\frac{\partial R}{\partial\lambda} = {\frac{1}{M}{\sum\limits_{k = 1}^{M}{\left( {Q_{k} - t_{k}} \right)\frac{\partial Q_{k}}{\partial\lambda}}}}} & \left( {1.7a} \right) \\ {\frac{\partial R}{\partial f_{i}} = {\frac{1}{M}{\sum\limits_{k = 1}^{M}{\left( {Q_{k} - t_{k}} \right)\frac{\partial Q_{k}}{\partial f_{i}}}}}} & \left( {1.7b} \right) \end{matrix}$ where, Q_(k)=Q(x_(k),λ,f); and

$\frac{\partial Q_{k}}{\partial\lambda},\frac{\partial Q_{k}}{\partial f_{i}}$ can be calculated numerically as,

$\begin{matrix} {\frac{\partial Q_{k}}{\partial\lambda} = \frac{{Q_{k}\left( {\lambda + {\Delta\lambda}} \right)} - {Q_{k}(\lambda)}}{\Delta\lambda}} & \left( {1.8a} \right) \\ {\frac{\partial Q_{k}}{\partial f_{i}} = \frac{{Q_{k}\left( {f_{i} + {\Delta\; f_{i}}} \right)} - {Q_{k}(f)}}{\Delta\; f_{i}}} & \left( {1.8b} \right) \end{matrix}$

Thus, for a given window size n, the Q-Filter can be optimized by minimizing Equation (1.6) through optimized λ and f.

Regression Model

From Equations (1.1a-c), the un-normalized q-measure {Ψ_(i)} is monotonic, i.e., Ψ₁≧Ψ₂≧ . . . ≧Ψ_(n+1)=0. Thus, the q-measure {q_(i)} and its differences {Δq_(i)}, i.e., Equations (1.2a-b), due to the constant normalization, have the properties 1=q₁≧q₂≧ . . . ≧q_(n+1)=0 and

$\begin{matrix} {{\sum\limits_{i = 1}^{n}{\Delta\; q_{i}}} = 1} & \left( {2.1a} \right) \\ {{\Delta\; q_{i}} \geq 0} & \left( {2.1b} \right) \end{matrix}$ From Equation (1.4) and (1.5), we have

$\begin{matrix} {t^{*} = {{Q\left( {x,\lambda,f} \right)} = {{\sum\limits_{i = 1}^{n}{x_{(i)}\Delta\; q_{i}}} = {\frac{1}{\psi_{1}}{\sum\limits_{i = 1}^{n}{x_{(i)}{f_{(i)}\left( {1 + {\lambda\psi}_{i + 1}} \right)}}}}}}} & (2.2) \end{matrix}$

We can see that the filtered value is bounded as t*ε[min{x_(i)}, max{x_(i)}]. But, the target signals {t_(k)} may not be in the same range as {t*_(k)} for the application of concern.

Equation (1.4) would have to be scaled to reflect the difference between the observation and their corresponding target values. Thus, a linear-regression modification of Equations (1.5) and (1.6) can be expressed as:

$\begin{matrix} {t_{k}^{*} = {{\alpha\;{Q\left( {x_{k},\lambda,f} \right)}} + \beta}} & (2.3) \\ {R = {\frac{1}{2M}{\sum\limits_{k = 1}^{M}\left( {{\alpha\;{Q\left( {x_{k},\lambda,f} \right)}} + \beta - t_{k}} \right)^{2}}}} & (2.4) \end{matrix}$ where α and β are linear-regression coefficients which can be derived from Equation (2.4) as:

$\begin{matrix} {\frac{\partial R}{\partial\alpha} = {{\frac{1}{M}{\sum\limits_{k = 1}^{M}{\left( {{\alpha\; Q_{k}} + \beta - t_{k}} \right)Q_{k}}}} = 0}} & \left( {2.5a} \right) \\ {\frac{\partial R}{\partial\beta} = {{\frac{1}{M}{\sum\limits_{k = 1}^{M}\left( {{\alpha\; Q_{k}} + \beta - t_{k}} \right)}} = 0}} & \left( {2.5b} \right) \end{matrix}$ where Q_(k)=Q(x_(k), λ, f). Now Let,

$\begin{matrix} {A = {\sum\limits_{k = 1}^{M}Q_{k}^{2}}} & \left( {2.6a} \right) \\ {B = {\sum\limits_{k = 1}^{M}Q_{k}}} & \left( {2.6b} \right) \\ {C = {\sum\limits_{k = 1}^{M}t_{k}}} & \left( {2.6c} \right) \\ {D = {\sum\limits_{k = 1}^{M}{Q_{k}t_{k}}}} & \left( {2.6d} \right) \end{matrix}$ Then we have:

$\begin{matrix} \left\{ \begin{matrix} {\alpha = \frac{{N \cdot D} - {C \cdot B}}{{N \cdot A} - {B \cdot B}}} \\ {\beta = \frac{{C \cdot A} - {B \cdot D}}{{N \cdot A} - {B \cdot B}}} \end{matrix} \right. & (2.7) \end{matrix}$

The above discussion suggests that one would first use the Q-Filter parameter optimization equations (1.5), (1.6), and (1.7a-b) to find optimized values for λ and f, then use Equations (2.6a-d) and (2.7) to find the values for α and β, so that the final filtered results given by Equations (2.3) and (2.4) would be superior to equations (1.5) and (1.6). Finding optimized values for λ and f takes place by finding a localized minimum values for λ and f by setting equations 1.6a and 1.6b equal to zero and solving for λ and f, respectively. Once values for λ and f are known, optimized values for α and β are determined by setting equations 2.5a and 2.5b equal to zero and solving for α and β.

It may be desired to minimize the residual error of the linear regression objective function given by Equation (2.4) directly without first minimizing λ and f then α and β. Derivatives of the equation on λ and f should also be considered as follows:

$\begin{matrix} {\frac{\partial R}{\partial\lambda} = {\frac{1}{M}{\sum\limits_{k = 1}^{M}{\left( {Q_{k} - t_{k}} \right)\frac{\partial Q_{k}}{\partial\lambda}}}}} & \left( {2.8a} \right) \\ {\frac{\partial R}{\partial f_{i}} = {\frac{1}{M}{\sum\limits_{k = 1}^{M}{\left( {Q_{k} - t_{k}} \right)\frac{\partial Q_{k}}{\partial f_{i}}}}}} & \left( {2.8b} \right) \\ {\frac{\partial R}{\partial\alpha} = {\frac{1}{M}{\sum\limits_{k = 1}^{M}{\left( {{\alpha\; Q_{k}} + \beta - t_{k}} \right)\mspace{11mu} Q_{k}}}}} & \left( {2.8c} \right) \\ {\frac{\partial R}{\partial\beta} = {\frac{1}{M}{\sum\limits_{k = 1}^{M}\left( {{\alpha\; Q_{k}} + \beta - t_{k}} \right)}}} & \left( {2.8d} \right) \end{matrix}$

Several standard mathematical optimization algorithms exit that use first-order derivatives. The simplest way to minimize the residual error, i.e., Equation (2.4), may be to use the standard steepest descendent method, such as:

${\min\; R} = {\frac{1}{2N}{\sum\limits_{k = 1}^{N}\left( {{\alpha\; Q\mspace{11mu}\left( {x_{k},\lambda,f} \right)} + \beta - t_{k}} \right)^{2}}}$ by iteration:

$\begin{matrix} {\alpha^{*} = {\alpha - {\eta\frac{\partial R}{\partial\alpha}\Delta\;\alpha}}} & \left( {2.9a} \right) \\ {\beta^{*} = {\beta - {\eta\frac{\partial R}{\partial\beta}\Delta\;\beta}}} & \left( {2.9b} \right) \\ {{\lambda^{*} = {\lambda - {\eta\frac{\partial R}{\partial\lambda}{\Delta\lambda}}}},{\lambda \geq {- 1}}} & \left( {2.9c} \right) \\ {{f_{i}^{*} = {f_{i} - {\eta\frac{\partial R}{\partial f_{i}}\Delta\; f_{i}}}},{f_{i} \in \left\lbrack {0,1} \right\rbrack}} & \left( {2.9d} \right) \end{matrix}$ where η is a constant step length, e.g., η=0.1.α, β, λ, and f_(i) are the current value of the variables. Δα, Δβ, Δλ, and Δf_(i) are the step changes for the correspondent variables, and they could be at 1˜5% of the value of the current variables and no less than 0.001. The updated α*, β*, λ*, and f*_(i) are the values for the next iteration. Initial value of α, β, λ, and f_(i) could be set as: α=1, β=0, λ=1, and f_(i)=0.5. Those step length, step changes, and initial values may vary depending on different optimization algorithms and signal filtering problems.

FIG. 3 is a block diagram of filter 300. Filter 300 comprises Q-Filter 301 and parameter optimizer 302. Both Q-filter 301 and parameter optimizer 302 preferably comprise logic circuitry such as a microprocessor/controller. As shown, filter 301 comprises an input receiving a signal X to be filtered, an input receiving variable parameter λ, and an input receiving a density generator vector f={f₁, f₂, . . . , f_(n)}. Optionally, filter 301 may have α and β for inputs. As shown, parameter optimizer 302 receives α, β, λ, f_(i), t, and t* and determines Δα, Δβ, Δλ, and Δf_(i). Where t is desired output signal and t* is filtered signal. Values for α*, β*, λ*, and f*_(i) are output to Q-filter 301 and used to produce t*. During operation of Q-filter 301, the input signal series X={x₁, x₂, . . . , x_(n)}, is input into the Q-Filter 301 with t* being the output computed as an filtered value of the given input. More particularly, during operation the Q-Filter can utilize logic circuitry (e.g., a microprocessor controller) and memory components to construct a q-measure based on the variable parameter λ and vector f, and outputs a filtered signal based on the q-measure.

FIG. 4 is a flow chart showing operation of parameter optimizer 302. The logic flow begins at step 401 where values for α, β, λ, f, t, and t* are received by parameter optimizer 302. At step 403 parameter optimizer calculated updated values α*, β*, λ*, and f* and outputs these values to Q-Filter 301 (step 405). As discussed, in a first embodiment, the values for α*, β*, λ*, and f* are determined by minimizing Equation (1.6) through optimized λ and f, and in a second embodiment the values for α*, β*, λ*, and f*, are determined via equations 2.9a-d by minimizing Equation (2.4).

While the invention has been particularly shown and described with reference to a particular embodiment, it will be understood by those skilled in the art that various changes in form and details (e.g., depending on the dimensionality of the input signal) may be made therein without departing from the spirit and scope of the invention. It is intended that such changes come within the scope of the following claims. 

1. A method for filtering a signal using a Q-filter, the method comprising the steps of: receiving with a microprocessor, values for λ, f, and t, wherein λ comprises a q-measure scalar parameter value, f comprises a q-measure vector of density generator parameter values, t comprises a vector of desired target signals; and optimizing via the microprocessor filtering parameters by minimizing an error function R, wherein R is a function of input signal vector X, λ, f, t; and t*, where t* comprises a vector of filtered signals; and filtering via the microprocessor the signal using the optimized filter parameters.
 2. The method of claim 1 wherein R is an average squared error of (t-t*).
 3. The method of claim 1 wherein the step of minimizing R(X, λ, f, t, t*) comprises the step of finding values for ∂R/∂λ and ∂R/∂f, where ${R = {\frac{1}{2M}{\sum\limits_{k = 1}^{M}\left( {{Q\mspace{11mu}\left( {x_{k},\lambda,f} \right)} - t_{k}} \right)^{2}}}},$ and M is a number of training samples.
 4. The method of claim 3 wherein: $\frac{\partial R}{\partial\lambda} = {\frac{1}{M}{\sum\limits_{k = 1}^{M}{\left( {Q_{k} - t_{k}} \right)\frac{\partial Q_{k}}{\partial\lambda}}}}$ $\frac{\partial R}{\partial f_{i}} = {\frac{1}{M}{\sum\limits_{k = 1}^{M}{\left( {Q_{k} - t_{k}} \right)\frac{\partial Q_{k}}{\partial f_{i}}}}}$ wherein, Q_(k)=Q(x_(k), λ, f); and $\frac{\partial Q_{k}}{\partial\lambda},\frac{\partial Q_{k}}{\partial f_{i}}$ can be calculated numerically as, $\frac{\partial Q_{k}}{\partial\lambda} = \frac{{Q_{k}\left( {\lambda + {\Delta\lambda}} \right)} - {Q_{k}(\lambda)}}{\Delta\lambda}$ $\frac{\partial Q_{k}}{\partial f_{i}} = {\frac{{Q_{k}\left( {f_{i} + {\Delta\; f_{i}}} \right)} - {Q_{k}(f)}}{\Delta\; f_{i}}.}$
 5. The method of claim 4 wherein: ${{Q\mspace{11mu}\left( {x,\lambda,f} \right)} = {{\sum\limits_{i = 1}^{n}{x_{(i)}\Delta\; q_{i}}} = {\frac{1}{\psi_{1}}{\sum\limits_{i = 1}^{n}{x_{(i)}{f_{(i)}\left( {1 + {\lambda\psi}_{i + 1}} \right)}}}}}},$ and wherein n is a window size of the Q-Filter; x_((i)) is a sorted sequence of x_(i), so that x₍₁₎≦x₍₂₎. . . ≦x_((n));and Ψ_(i) are computed recursively for i=n+1, n, . . . , 1, as follows: Ψ_(n+1)=0 Ψ_(n)=f_((n)) Ψ_(i) =f _((i))+Ψ_(i+1) +λf _((i))Ψ_(i+1).
 6. The method of claim 1 further comprising the step of: receiving via the microprocessor linear-regression coefficients for α and β; and wherein the step of optimizing comprises the step of minimizing R wherein R is a function of α, β, X, λ, f, t and t*.
 7. The method of claim 6 wherein the step of minimizing R(α, β, X, λ, f, t) comprises the step of finding values for ∂R/∂λ and ∂R/∂f, ∂R/∂α, and ∂R/∂β, where $R = {\frac{1}{2M}{\sum\limits_{k = 1}^{M}{\left( {{\alpha\; Q\mspace{11mu}\left( {x_{k},\lambda,f} \right)} + \beta - t_{k}} \right)^{2}.}}}$
 8. The method of claim 7 wherein: $\frac{\partial R}{\partial\lambda} = {\frac{1}{N}{\sum\limits_{k = 1}^{N}{\left( {{\alpha\; Q_{k}} + \beta - t_{k}} \right)\mspace{11mu}\alpha\frac{\partial Q_{k}}{\partial\lambda}}}}$ $\frac{\partial R}{\partial f_{i}} = {\frac{1}{N}{\sum\limits_{k = 1}^{N}{\left( {{\alpha\; Q_{k}} + \beta - t_{k}} \right)\mspace{11mu}\alpha\frac{\partial Q_{k}}{\partial f_{i}}}}}$ $\frac{\partial R}{\partial\alpha} = {\frac{1}{N}{\sum\limits_{k = 1}^{N}{\left( {{\alpha\; Q_{k}} + \beta - t_{k}} \right)\mspace{11mu} Q_{k}}}}$ $\frac{\partial R}{\partial\beta} = {\frac{1}{N}{\sum\limits_{k = 1}^{N}\left( {{\alpha\; Q_{k}} + \beta - t_{k}} \right)}}$ wherein, Q_(k)=Q(x_(k), λ, f); and $\frac{\partial Q_{k}}{\partial\lambda},\frac{\partial Q_{k}}{\partial f_{i}}$ can be calculated numerically as, $\frac{\partial Q_{k}}{\partial\lambda} = \frac{{Q_{k}\left( {\lambda + {\Delta\lambda}} \right)} - {Q_{k}(\lambda)}}{\Delta\lambda}$ $\frac{\partial Q_{k}}{\partial f_{i}} = {\frac{{Q_{k}\left( {f_{i} + {\Delta\; f_{i}}} \right)} - {Q_{k}(f)}}{\Delta\; f_{i}}.}$
 9. The method of claim 8 wherein: ${Q\mspace{11mu}\left( {x,\lambda,f} \right)} = {{\sum\limits_{i = 1}^{n}{x_{(i)}\Delta\; q_{i}}} = {\frac{1}{\psi_{1}}{\sum\limits_{t = 1}^{n}{x_{(i)}{f_{(i)}\left( {1 + {\lambda\psi}_{i + 1}} \right)}}}}}$ wherein n is the window size of the Q-Filter; x_((i)) is a sorted sequence of x_(i), so that x₍₁₎≦x₍₂₎. . .≦x_((n)); and Ψ_(i) are computed recursively for i=n+1, n, . . . , 1, as follows: Ψ_(n+1)=0 Ψ_(n)=f_((n)) Ψ_(i) =f _((i))+Ψ_(i+1) +λf _((i))Ψ_(i+1).
 10. An apparatus comprising: a microprocessor configured for receiving values for λ, f, and t, wherein λ comprises a q-measure scalar parameter value, f comprises a q-measure vector of density generator parameter values, t comprises a vector of desired target signals, the microprocessor also configured for optimizing filter parameters by minimizing an error function R, wherein R is a function of input signal vector X, λ, f, t; and t*, where t* comprises a vector of filtered signals; and a filter coupled to the filter parameter optimizer for filtering a signal using the optimized filter parameters.
 11. The apparatus of claim 10 wherein R is an average squared error of (t-t*).
 12. The apparatus of claim 10 wherein the minimizing of R(X, λ, f, t, t*) takes place by finding local minimum of ∂R/∂λ and ∂R/∂f, where ${R = {\frac{1}{2M}{\sum\limits_{k = 1}^{M}\left( {{Q\mspace{11mu}\left( {x_{k},\lambda,f} \right)} - t_{k}} \right)^{2}}}},$ and M is a number of training samples.
 13. The apparatus of claim 12 wherein: $\frac{\partial R}{\partial\lambda} = {\frac{1}{M}{\sum\limits_{k = 1}^{M}{\left( {Q_{k} - t_{k}} \right)\frac{\partial Q_{k}}{\partial\lambda}}}}$ $\frac{\partial R}{\partial f_{i}} = {\frac{1}{M}{\sum\limits_{k = 1}^{M}{\left( {Q_{k} - t_{k}} \right)\frac{\partial Q_{k}}{\partial f_{i}}}}}$ wherein, Q_(k)=Q(x_(k), λ, f); and $\frac{\partial Q_{k}}{\partial\lambda},\frac{\partial Q_{k}}{\partial f_{i}}$ can be calculated numerically as, $\frac{\partial Q_{k}}{\partial\lambda} = \frac{{Q_{k}\left( {\lambda + {\Delta\lambda}} \right)} - {Q_{k}(\lambda)}}{\Delta\lambda}$ $\frac{\partial Q_{k}}{\partial f_{i}} = {\frac{{Q_{k}\left( {f_{i} + {\Delta\; f_{i}}} \right)} - {Q_{k}(f)}}{\Delta\; f_{i}}.}$
 14. The apparatus of claim 13 wherein: ${{Q\mspace{11mu}\left( {x,\lambda,f} \right)} = {{\sum\limits_{i = 1}^{n}{x_{(i)}\Delta\; q_{i}}} = {\frac{1}{\psi_{1}}{\sum\limits_{i = 1}^{n}{x_{(i)}{f_{(i)}\left( {1 + {\lambda\psi}_{i + 1}} \right)}}}}}},$ and wherein n is a window size of the Q-Filter; x_((i)) is a sorted sequence of x_(i), so that x₍₁₎≦x₍₂₎. . . ≦x_((n)); and Ψ_(i) are computed recursively for i=n+1, n, . . . , 1, as follows: Ψ_(n+1)=0 Ψ_(n)=f_((n)) Ψ_(i) =f _((i))+Ψ_(i+1) +λf _((i))Ψ_(i+1).
 15. The apparatus of claim 10 wherein the microprocessor configured for receives linear-regression coefficients for α and β and minimizes R wherein R is a function of α, β, X, λ, f, t and t*.
 16. The apparatus of claim 15 wherein R(α, β, X, λ, f, t) is minimized by finding local minimum for ∂R/∂λ and ∂R/∂f, ∂R/∂α, and ∂R/∂β, where $R = {\frac{1}{2M}{\sum\limits_{k = 1}^{M}{\left( {{{aQ}\left( {x_{k},\lambda,f} \right)} + \beta - t_{k}} \right)^{2}.}}}$
 17. The apparatus of claim 16 wherein: $\frac{\partial R}{\partial\lambda} = {\frac{1}{N}{\sum\limits_{k = 1}^{N}{\left( {{\alpha\; Q_{k}} + \beta - t_{k}} \right)\alpha\frac{\partial Q_{k}}{\partial\lambda}}}}$ $\frac{\partial R}{\partial f_{i}} = {\frac{1}{N}{\sum\limits_{k = 1}^{N}{\left( {{\alpha\; Q_{k}} + \beta - t_{k}} \right)\alpha\frac{\partial Q_{k}}{\partial f_{i}}}}}$ $\frac{\partial R}{\partial\alpha} = {\frac{1}{N}{\sum\limits_{k = 1}^{N}{\left( {{\alpha\; Q_{k}} + \beta - t_{k}} \right)Q_{k}}}}$ $\frac{\partial R}{\partial\beta} = {\frac{1}{N}{\sum\limits_{k = 1}^{N}\left( {{\alpha\; Q_{k}} + \beta - t_{k}} \right)}}$ wherein, Q_(k)=Q(x_(k), λ, f); and $\frac{\partial Q_{k}}{\partial\lambda},\frac{\partial Q_{k}}{\partial f_{i}}$ can be calculated numerically as, $\frac{\partial Q_{k}}{\partial\lambda} = \frac{{Q_{k}\left( {\lambda + {\Delta\;\lambda}} \right)} - {Q_{k}(\lambda)}}{\Delta\;\lambda}$ $\frac{\partial Q_{k}}{\partial f_{i}} = {\frac{{Q_{k}\left( {f_{i} + {\Delta\; f_{i}}} \right)} - {Q_{k}(f)}}{\Delta\; f_{i}}.}$
 18. The apparatus of claim 17 wherein: ${Q\left( {x,\lambda,f} \right)} = {{\sum\limits_{i = 1}^{n}{x_{(i)}\Delta\; q_{i}}} = {\frac{1}{\psi_{1}}{\sum\limits_{i = 1}^{n}{x_{(i)}{f_{(i)}\left( {1 + {\lambda\;\psi_{i + 1}}} \right)}}}}}$ wherein n is the window size of the Q-Filter; x_((i)) is a sorted sequence of x_(i), so that x₍₁₎≦x₍₂₎. . . ≦x_((n)); and Ψ_(i) are computed recursively for i=n+1, n, . . . , 1, as follows: Ψ_(n+1)=0 Ψ_(n)=f_((n)) Ψ_(i) =f _((i))+Ψ_(i+1) +λf _((i))Ψ_(i+1). 